const path = require('path');

const proxyDomain = "http://172.16.100.12:8080";
// const proxyDomain = "http://www.ondutyd.com";
// const proxyDomain = "http://www.ondutyds.com";
// const proxyDomain = "http://od.yeahfly.cn";


module.exports = {
   // publicPath: process.env.NODE_ENV === 'production' ? '//static.img.leying.com/' : './',
   publicPath: './',
   lintOnSave: false,
   crossorigin: "anonymous",
   runtimeCompiler: true,
   productionSourceMap: false,
  /*  configureWebpack(config) {
      if (process.env.NODE_ENV === 'production') {
         // 为生产环境修改配置...
         config.entry('app').clear().add('./src/main-prod.js')
      } 
      if (process.env.NODE_ENV === 'development') {
         // 为开发环境修改配置...
         config.entry('app').clear().add('./src/main-dev.js')
      } 
   }, */
   // configureWebpack: {
   //   externals: {
   //     vue: 'Vue',
   //     'element-ui': 'ELEMENT',
   //    //  '@vue/composition-api': 'VueCompositionAPI',

   // //    'vue-router': 'VueRouter',
   // //  'axios': 'axios',
   // //   "echarts": "echarts",
   // //   "nprogress": "Nprogress",
   //   },
   // },
   chainWebpack(config) {
      config.plugins.delete('prefetch');
      config.resolve.alias 
        .set('components', path.join(__dirname, 'src/components'))
        .set('views', path.join(__dirname, 'src/views'))
        .set('assets', path.join(__dirname, 'src/assets'))
        .set('plugins', path.join(__dirname, 'src/plugins'))
        .set('utils', path.join(__dirname, 'src/utils'));

        // 为开发环境修改配置...
        config.when(process.env.NODE_ENV === 'development',config => {
         config.entry('app').clear().add('./src/main-dev.js')
         config.plugin('html').tap(args =>{
            args[0].isProd = false;
            return args
         })
        })
         // 为生产环境修改配置...
        config.when(process.env.NODE_ENV === 'production',config => {
            config.entry('app').clear().add('./src/main-prod.js')

            config.set('externals',{
               vue: 'Vue',
               'element-ui': 'ELEMENT',
               '@vue/composition-api': 'VueCompositionAPI',
               'vue-router': 'VueRouter',
               axios: 'axios',
               echarts: "echarts",
               // echarts: "echarts",
               nprogress: "Nprogress",
            })

            config.plugin('html').tap(args =>{
               args[0].isProd = true;
               return args
            })

        })
   },
   css: {
      modules: false,
      extract: true,
      sourceMap: true,
      loaderOptions: {
         css: {
            // 这里的选项会传递给 css-loader
         },
         postcss: {
            // 这里的选项会传递给 postcss-loader
         }
      }
   },
   devServer: {
      host: 'localhost',
      port: 8086,
      // open: true,
      proxy: {
         '/api/': {
            target: proxyDomain,
            changeOrigin: true,
            secure: false,
            ws: true,
            pathRewrite: {
               '^/api': '/api'
            }
         },
         '/geoserver/': {
            target: proxyDomain,
            changeOrigin: true,
            ws: true,
            secure: false,
         },
      },
      overlay: {
         warnings: false,
         errors: false
      }
   }
}
